DashScopeParse是专门用于高效地解析和表示文件的解析器,以便通过LlamaIndex框架进行高效检索和上下文增强。目前使用的解析服务来自于阿里云“文档智能(Document Mind)”。
开始
前提条件
首先,登录https://bailian.console.aliyun.com/,获取你的API-KEY,当需要指定业务空间时也要获取指定“业务空间id”。
然后,安装DashScopeParse的安装包(python>=3.8,<=3.12)
pip install llama-index-core
pip install llama-index-readers-dashscope
示例代码
现在你可以使用下面的代码获取PDF文件的解析结果了:
import os
os.environ['DASHSCOPE_API_KEY'] = "<Your API Key>"
os.environ['DASHSCOPE_WORKSPACE_ID'] = "<Your Workspace id, Default workspace is empty.>"
from llama_index.readers.dashscope.base import DashScopeParse
from llama_index.readers.dashscope.utils import ResultType
file = ['aiayn.pdf', 'not_exist.pdf']
parse = DashScopeParse(result_type=ResultType.DASHSCOPE_DOCMIND, category_id="<category id>")
documents = parse.load_data(file_path=file)
Note:
目前只支持.doc、.docx、.pdf,大小在100M以内且文件页数在1000以内的文件上传、解析。
Note:
DASHSCOPE_API_KEY:是必须指定的API-KEY。
DASHSCOPE_WORKSPACE_ID:如果使用默认业务空间,可以不指定。如果需要指定业务空间,请指定“业务空间id”。
返回结果
结果为Documents对象,json化内容为:(只示例重点字段,其中text字段由于长度过长,所以做了省略显示)
[
{
"id_": "doc_ab3d344971084f288248d69ba9bada1310022601",
"metadata": {
"parse_fmt_type": "DASHSCOPE_DOCMIND"
},
"text": "\"{\\\"logics\\\":{\\\"docTree\\\":[{\\\"backlink\\\":{\\\"\u4e0a\u7ea7\\\":[\\\"ROOT\\\"]},\\\"level\\\":0,\\\"link\\\":{\\\"\u4e0b\u7ea7\\\":[],\\\"\u5305\u542b\\\":[]},\\\"uniqueId\\\":\\\"171c391e5e7c68a253eb0adf59fa476d\\\"},{\\\"backlink\\\":{\\\"\u4e0a\u7ea7\\\":[\\\"171c391e5e7c68a253eb0adf59fa476d\\\"]},\\\"level\\\":1,\\\"link\\\":{\\\"\u4e0b\u7ea7\\\":[],\\\"\u5305\u542b\\\":[]},\\\"uniqueId\\\":\\\"397257823ee2878fc4b4a5759fe9afe9\\\"},{\\\"backlink\\\":{\\\"\u4e0a\u7ea7\\\":[\\\"ROOT\\\"]},\\\"level\\\":0,\\\"link\\\":{\\\"\u4e0b\u7ea7\\\":[],\\\"\u5305\u542b\\\":[]},\\\"uniqueId\\\":\\\"08ab57d41ea73966c49191292e1abb5b\\\"},{\\\"backlink\\\":{\\\"\u4e0a\u7ea7\\\":[\\\"08ab57d41ea73966c49191292e1abb5b\\\"]},\\\"level\\\":1,\\\"link\\\":{\\\"\u4e0b\u7ea7\\\":[],\\\"\u5305\u542b\\\":[]},\\\"uniqueId\\\":\\\"2f5ac27b37e3cb65f14799d4811bb633\\\"},......",
}
]
参数说明
输入参数
参数 | 类型 | 默认值 | 说明 |
result_type | Enum | ResultType.DASHSCOPE_DOCMIND | Parser解析结果的类型 |
num_workers | int | 4 | 处理多个文件时发起API请求的worker数量 |
check_interval | int | 5 | 查询解析状态是的间隔,单位:秒 |
max_timeout | int | 3600 | 解析超时时间,单位:秒 |
workspace | str | None | DashScope workspace id |
api_key | str | None | DashScope api key,可以通过环境变量等方法设置。 |
category_id | str | default | 指定上传的类目ID |
输出Document对象字段说明
字段名 | 字段类型 | 字段描述 |
id_ | str | 系统生成的文档id |
metadata.parse_fmt_type | str | 解析结果格式化类型 |
text | str | 解析结果字符串,为JSON转义的结果,如果是python语言可以使用json.loads(text) |